//
// Created by pzw on 24-2-22.
//

#ifndef QTTEST_FILE_DIR_H
#define QTTEST_FILE_DIR_H

#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <dirent.h>
#include <string>

class file_dir {
public:
    int file_dir_chmod(const char *path, mode_t mode);
    int file_dir_chown(const char *path, uid_t owner, gid_t group);
public:
    int file_dir_unlink(const char *path);
    int file_dir_link(const char *path1, const char *path2);
    int file_dir_symlink(const char *path1, const char *path2);
public:
    int file_dir_mkdir(const char *path, mode_t mode);
    int file_dir_rmdir(const char *path);
public:
    int file_dir_chdir(const char *path);
    char *file_dir_getcwd(char *buf, size_t size);
public:
    DIR *file_dir_opendir(const char *name);
    struct dirent *file_dir_readdir(DIR *dirp);
    long int file_dir_telldir(DIR *dirp);
    void file_dir_seekdir(DIR *dirp, long int loc);
    int file_dir_closedir(DIR *dirp);
};

int file_dir_main();


#endif //QTTEST_FILE_DIR_H
